home *** CD-ROM | disk | FTP | other *** search
/ PD Collection CD 1 / PD Collection CD 1.iso / textual / tex / files / !tex / mfinputs / tsetsl / mf
Encoding:
Text File  |  1988-02-26  |  5.9 KB  |  133 lines

  1. % This is TSETSL.MF in text format, as of Mar 31, 1986.
  2. % Special slanted characters for ``extended ASCII character set'' fonts
  3.  
  4. % These characters were copied from {\tt greekl.mf} and {\tt italms.mf}
  5. % with character positions changed and italic corrections added to the width.
  6.  
  7. % Codes \0002--\0003, \0007--\0012, and \0017 are generated.
  8.  
  9. cmchar "Lowercase Greek alpha for extended ASCII";
  10. beginchar(oct"002",11u#,x_height#,0);
  11. italcorr max(1/3x_height#*slant+.5hair#+.5u#,x_height#*slant-.5u#);
  12. adjust_fit(0,ic#); pickup fine.nib;
  13. pos0(hair,0); pos1(vair,-90); pos2(curve,-180); pos3(vair,-270);
  14. z4=(w-3.25u,9/16h); z5=(w-2.75u,.5[vair,y4]);
  15. numeric theta; theta=angle(z4-z5)-90;
  16. pos4(stem,theta); pos5(stem,theta);
  17. pos6(vair,90); pos7(hair,180);
  18. rt x0r=hround(w-u); x1=x3=.5w-u; lft x2r=hround(1.5u-.5curve);
  19. x6=w-u; x7+.5hair=hround(w+.5hair-eps);
  20. top y0=vround .8[bar_height,h]; bot y1r=bot y6l=-oo;
  21. y2=.5[y1,y3]; top y3r=h+oo; y7=1/4bar_height;
  22. filldraw stroke z0e{down}...pulled_arc.e(1,2) & pulled_arc.e(2,3)
  23.  ...z4e---z5e...z6e{right}...{up}z7e; % diagonal, bowl, and hook
  24. penlabels(0,1,2,3,4,5,6,7); endchar;
  25.  
  26. cmchar "Lowercase Greek beta for extended ASCII";
  27. beginchar(oct"003",9.5u#,asc_height#,desc_depth#);
  28. italcorr .5[x_height#,asc_height#]*slant-u#;
  29. adjust_fit(0,ic#); pickup fine.nib;
  30. pos0(hair,180); pos1(hair,180); pos2(vair,90);
  31. pos3(stem,0); pos4(vair,-90); pos5(hair,-180);
  32. pos6(vair,-270); pos7(curve,-360); pos8(vair,-450); pos9(hair,-540);
  33. x0=x1=x9; lft x0l=hround(1.5u-.5hair); x2=x4=x6=x8=.5w+.25u;
  34. rt x3r=hround(w-1.5u); rt x7r=hround(w-1.5u+.5curve); rt x5l=hround(x4-u);
  35. bot y0=-d; y1=top y6r=x_height; top y2r=h+oo; y3=.5[y2,y4];
  36. y5=.5[y4,y6]; top y6r-bot y4r=vstem+eps; bot y8=-oo; y7=y9=.5[y6,y8];
  37. if y6l<y4l: y6l:=y4l:=y5; fi
  38. filldraw stroke z0e---z1e...pulled_arc.e(2,3)
  39.  & pulled_arc.e(3,4)...{up}z5e;  % stem and upper bowl
  40. filldraw stroke z5e{up}...pulled_arc.e(6,7)
  41.  & pulled_arc.e(7,8)...{up}z9e;  % lower bowl
  42. penlabels(0,1,2,3,4,5,6,7,8,9); endchar;
  43.  
  44. cmchar "Lowercase Greek pi for extended ASCII";
  45. beginchar(oct"007",10u#,x_height#,0);
  46. italcorr x_height#*slant+.5stem#-u#;
  47. adjust_fit(0,ic#); pi_stroke; % hook and bar
  48. pos4(hair,0); pos6(hair,0); x4=3.5u; x6=w-4u; y4=y6=y2;
  49. x5=3u; x7=w-2.5u; y5=y7=.5stem-oo;
  50. pair v[]; v1=(z4-z5) xscaled 3.14159; v2=(z6-z7) xscaled 3.14159;
  51. pos5(stem,angle v1-90); pos7(stem,angle v2-90);
  52. filldraw circ_stroke z5e{v1}...{up}z4e;  % left stem
  53. filldraw circ_stroke z7e{v2}...{up}z6e;  % right stem
  54. penlabels(1,2,3,4,5,6,7); endchar;
  55.  
  56. cmchar "Lowercase Greek lambda for extended ASCII";
  57. beginchar(oct"010",10.5u#,asc_height#,0);
  58. adjust_fit(0,0); pickup fine.nib;
  59. pos1(vair,90); lft x1=hround .1u; top y1r=h;
  60. x2=x1+2u; y2=.7[x_height,h]; x3=w-2u; bot y4=-oo; y3=max(.07h,y4+eps);
  61. z4-(.25u,0)=whatever[z2,z3]; numeric theta; theta=angle(z2-z3)-90;
  62. pos2(stem,theta); pos3(stem,theta); pos4(stem,0);
  63. filldraw circ_stroke z1e{right}...z2e---z3e
  64.  ...{2(x4e-x3e),y4e-y3e}z4e;  % long diagonal
  65. y5=.5[bar_height,x_height]; z5=whatever[z2,z3];
  66. x6=1.5u; y6-.5stem=-oo; pos5(hair,theta-90); pos6(stem,angle(z5-z6)-90);
  67. filldraw circ_stroke z6e--z5e; % short diagonal
  68. penlabels(1,2,3,4,5,6); endchar;
  69.  
  70. cmchar "Lowercase Greek gamma for extended ASCII";
  71. beginchar(oct"011",10u#,x_height#,desc_depth#);
  72. italcorr x_height#*slant-.5u#;
  73. adjust_fit(0,ic#); pickup fine.nib;
  74. pos1(hair,180); pos2(vstem+dw,90);
  75. pos4(hair,0); pos5(vair,-90); pos6(hair,-180); pos7(hair,-180);
  76. bot y1=.5772156649h; top y2r=h+oo; y4=y6=-.5d;
  77. bot y5r=-d-o; top y7=h;
  78. lft x1r=hround(.5u-.5hair); x2=3u; rt x4r=hround(w-2u); x5=.5[x4,x6];
  79. rt x4r-lft x6r=hround 1/3[hair,stem]+eps; rt x7l=hround(w-u);
  80. if x4l<x6l: x4l:=x6l:=x5; fi
  81. pos3(hair,angle(z4-z2)+90); x3=superness[x2,x4]; y3=superness[y4,y2];
  82. filldraw stroke z1e{up}...z2e{right}...z3e{z4-z2}
  83.  ...z4e{down}...{left}z5e; % arc
  84. filldraw stroke z5e{left}...z6e{up}..{2(x7-x6),y7-y6}z7e;  % stem
  85. penlabels(1,2,3,4,5,6,7); endchar;
  86.  
  87. cmchar "Lowercase Greek delta for extended ASCII";
  88. beginchar(oct"012",8u#,asc_height#,0);
  89. italcorr .9asc_height#*slant+.5hair#-1.5u#;
  90. adjust_fit(0,ic#); pickup fine.nib;
  91. pos1(hair,-180); pos2(vair,-90);
  92. numeric theta; theta=angle(18u,-h);
  93. pos3(stem,theta+90); pos4(stem,theta+90); pos5(1/4[hair,stem],20);
  94. pos6(vair,-90); pos7(curve,-180); pos8(vair,-270);
  95. rt x1l=hround(w-2u+.5hair); x2=.5w; x3r=3u; rt x5r=hround(w-u);
  96. x4=x6=x8=.5w+.5u; lft x7r=hround(1.5u-.5curve);
  97. top y2l=h+oo; y1=min(.9h,y2r-eps); top y8r=x_height+oo; y4=y8;
  98. z4-z3=whatever*(18u,-h); y5=y7=.5[y6,y8]; bot y6=-oo;
  99. filldraw stroke z1e{x2-x1,3(y2-y1)}...z2e{left}...z3e---z4e
  100.  ....z5e{down}...pulled_arc.e(6,7) & pulled_arc.e(7,8);  % hook and bowl
  101. penlabels(1,2,3,4,5,6,7,8); endchar;
  102.  
  103. cmchar "Partial differential sign for extended ASCII";
  104. beginchar(oct"017",10u#,asc_height#,0);
  105. italcorr .7asc_height#*slant+.5curve#-1.5u#;
  106. adjust_fit(0,ic#);
  107. numeric top_thickness,bot_thickness,side_thickness,pull;
  108. top_thickness=max(fine.breadth,vround(slab-2vair_corr));
  109. bot_thickness=max(fine.breadth,vround(slab-vair_corr));
  110. side_thickness=max(fine.breadth,hround 1/3[curve,cap_curve]);
  111. pull=min(.25,1.5superpull);
  112. pickup fine.nib; pos2(top_thickness,90);
  113. pos3(side_thickness,0); pos4(bot_thickness,-90);
  114. pos5(side_thickness,-180); pos6(vair,-270);
  115. lft x5r=w-rt x3r=hround max(.75u,1.5u-.5side_thickness);
  116. x4=x6+.1u=x2+u=.5w;
  117. top y2r=h+o; y3=.5[y2,y4]; bot y4r=-o;
  118. y5=.5[y4,y6]; top y6=vround 5/8h+o;
  119. path p; p=pulled_super_arc.l(3,4)(pull);
  120. numeric t; t=xpart(p intersectiontimes((x3r,y5)--(x4,y5)));
  121. pos7(thin_join,0); z7l=point t of p;
  122. (x,y6r)=whatever[z7l,z6l]; x6r:=max(x,.5[x5r,x6]);
  123. filldraw stroke pulled_super_arc.e(2,3)(pull)
  124.  & {{interim superness:=more_super; pulled_super_arc.e(3,4)(pull)}}
  125.  & {{less_tense; pulled_super_arc.e(4,5)(pull) & pulled_super_arc.e(5,6)(pull)}}
  126.  & z6e{right}...{direction t of p}z7e;  % arc and bowl
  127. pos1(hair,180); pos0(flare,180);
  128. lft x0r=min(lft x2-eps,hround 1.2u);
  129. y0=vround min(.85h-.5flare,.8h+.5flare)+o;
  130. {{less_tense; bulb(2,1,0)}};  % arc and bulb
  131. math_fit(-.3x_height#*slant+.5curve#-u#,ic#-u#);
  132. penlabels(0,1,2,3,4,5,6,7); endchar;
  133.